技术论坛 Technology Forum
MQTT 服务不中断解决方案
工业物联网的发展过程中,维持网络通讯服务的稳定运作已经成为日益重要的问题,
若管理网络流量的控制设备发生非计划性中断(Unplanned Outage),如软件错误、病
毒感染、天灾或遭受网络入侵攻击等事件,如何降低当这些因素发生时对系统的冲击,并
使系统仍可持续运作,实为企业经营重要课题之一。
随着大数据、云运算、工业物联网及 AI 降低当这些因素发生时对系统的冲击,并使系
等技术的成熟发展,企业对于如何经由工业物 统仍可持续运作,实为企业经营重要课题之
联网技术采集生产环境及生产机具各式传感器 一。
大量数据,透过分析技术将让现场管理人员更 在工业物联网的世界中有许多传送给服务
能掌握生产环境以及生产机具的状态,通过提 器或接收来自服务器信息的方法,其中 MQTT
高生产效能、降低成本、以及提供更为安全的 为了满足「简单」、「轻量级」、「网络环境差」
生产环境。因此企业愿意投入更多传感器,尽 的需求,透过「发布」与「订阅」方式,进行
可能掌握生产环境内的所有信息,最后透过机 一对多通讯的通讯协议,非常适合协助企业进
器学习技术分析,期望让生产运作有更高的效 行数字转型。
率和可靠性。
在 MQTT 协议中的角色有三种,分别为
在工业物联网的发展过程中,维持网络通 传送信息的用户 (Publisher)、透过中继服务
讯服务的稳定运作已经成为日益重要的问题, 器 (broker) 管理发布和订阅事宜,以及接收信
若管理网络流量的控制设备发生非计划性中断 息的用户 (Subscriber)。这边可观察到不论是
(Unplanned Outage),如软件错误、病毒 Publisher 或是 Subscriber 欲进行数据传递或
感染、天灾或遭受网络入侵攻击等事件,如何 接收,都必须透过 MQTT Broker 当作中继站,
23 https://icpdas.pse.is/pactech
Technology Forum 技术论坛
当 MQTT Broker 因外在不可控的因素造成服 使用 BRK-2841M 冗余架构优势如下:
务停止会导致所有客户端会失去通讯手段,影 � 对外提供集群服务地址
响程度轻微会遗失某一段时间的数据数据,重 客户端只需要关心负载平衡器的地址,而且不
则系统停摆,造成企业的生产环境以及生产机 需要知道群组内各个节点的地址。这大大提升
具无预警停止等严重损失。 了服务器迁移和伸缩的灵活性。
� TLS 终结
许多 MQTT 的用户选择在负载均衡这一层来终
结 TLS,这样可以使 MQTT 服务器的资源被充
分用于消息的处理。
� 平衡集群中各个节点的负载
负载均衡服务通常可以配置不同的均衡策略,
如:随机分配、轮询(有些轮询策略可以调节
泓 格 科 技 推 出 的 BRK-2841M 可 同 时 使 节点权重),还有比较有意思的粘性分配。
用复数组成冗余架构,选择一台作为主机
(Master),其余当作冗余主机 (Standby),正常
情况会以主机作为优先网关设备,一但主机发
生问题,冗余主机将自动调整内部组态并取代
主机的职务,来保持 MQTT 服务不断线,也提
供系统管理人员有更多处理问题的时间,不会
因为设备故障造成整个系统运作停摆。
MQ-7000
主要服务Broker
BRK-2841M
UA I/O
PMC-523X
互相监测对方
DL-302 SCADA
Ethernet Switch
Ethernet Switch NSM-208G
PIR-230 NSM-316G
BRK-2841M
冗余Broker
冗余架构: 主要服务Broker无预警故障,冗余Broker会自动接管服务。
tSL-P4R1 主要服务Broker重新上线,冗余Broker再将服务交还。
24